#ifndef NT_SERVERCS_SERVICE_H
#define NT_SERVERCS_SERVICE_H

#pragma once

extern SERVICE_STATUS g_ServiceStatus;
extern SERVICE_STATUS_HANDLE g_ServiceStatusHandle;
extern HANDLE g_lobalServiceStatusEvent;

DWORD
UpdateServiceStatus(
                    __in DWORD CurrentState,
                    __in DWORD ServiceExitCode,
                    __in DWORD WaitHint
                    );

#ifdef __cplusplus
extern "C"
#endif
DWORD WINAPI service_handle(
    __in DWORD dwControl,
    __in DWORD dwEventType,
    __in LPVOID lpEventData,
    __in LPVOID lpContext
);

#ifdef __cplusplus
extern "C"
#endif
void WINAPI
NtServiceMain(
    __in DWORD argc,
    __in_ecount_opt(argc) WCHAR **argv
    );
                    
#endif